package com.gridmobi.xrtb.domain.adn;

import java.util.ArrayList;
import java.util.List;

public class OfferKpisReportExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public OfferKpisReportExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCdateIsNull() {
            addCriterion("cdate is null");
            return (Criteria) this;
        }

        public Criteria andCdateIsNotNull() {
            addCriterion("cdate is not null");
            return (Criteria) this;
        }

        public Criteria andCdateEqualTo(String value) {
            addCriterion("cdate =", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateNotEqualTo(String value) {
            addCriterion("cdate <>", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateGreaterThan(String value) {
            addCriterion("cdate >", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateGreaterThanOrEqualTo(String value) {
            addCriterion("cdate >=", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateLessThan(String value) {
            addCriterion("cdate <", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateLessThanOrEqualTo(String value) {
            addCriterion("cdate <=", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateLike(String value) {
            addCriterion("cdate like", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateNotLike(String value) {
            addCriterion("cdate not like", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateIn(List<String> values) {
            addCriterion("cdate in", values, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateNotIn(List<String> values) {
            addCriterion("cdate not in", values, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateBetween(String value1, String value2) {
            addCriterion("cdate between", value1, value2, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateNotBetween(String value1, String value2) {
            addCriterion("cdate not between", value1, value2, "cdate");
            return (Criteria) this;
        }

        public Criteria andPublisheridIsNull() {
            addCriterion("publisherid is null");
            return (Criteria) this;
        }

        public Criteria andPublisheridIsNotNull() {
            addCriterion("publisherid is not null");
            return (Criteria) this;
        }

        public Criteria andPublisheridEqualTo(Integer value) {
            addCriterion("publisherid =", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridNotEqualTo(Integer value) {
            addCriterion("publisherid <>", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridGreaterThan(Integer value) {
            addCriterion("publisherid >", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridGreaterThanOrEqualTo(Integer value) {
            addCriterion("publisherid >=", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridLessThan(Integer value) {
            addCriterion("publisherid <", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridLessThanOrEqualTo(Integer value) {
            addCriterion("publisherid <=", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridIn(List<Integer> values) {
            addCriterion("publisherid in", values, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridNotIn(List<Integer> values) {
            addCriterion("publisherid not in", values, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridBetween(Integer value1, Integer value2) {
            addCriterion("publisherid between", value1, value2, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridNotBetween(Integer value1, Integer value2) {
            addCriterion("publisherid not between", value1, value2, "publisherid");
            return (Criteria) this;
        }

        public Criteria andOfferidIsNull() {
            addCriterion("offerid is null");
            return (Criteria) this;
        }

        public Criteria andOfferidIsNotNull() {
            addCriterion("offerid is not null");
            return (Criteria) this;
        }

        public Criteria andOfferidEqualTo(Integer value) {
            addCriterion("offerid =", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidNotEqualTo(Integer value) {
            addCriterion("offerid <>", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidGreaterThan(Integer value) {
            addCriterion("offerid >", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidGreaterThanOrEqualTo(Integer value) {
            addCriterion("offerid >=", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidLessThan(Integer value) {
            addCriterion("offerid <", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidLessThanOrEqualTo(Integer value) {
            addCriterion("offerid <=", value, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidIn(List<Integer> values) {
            addCriterion("offerid in", values, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidNotIn(List<Integer> values) {
            addCriterion("offerid not in", values, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidBetween(Integer value1, Integer value2) {
            addCriterion("offerid between", value1, value2, "offerid");
            return (Criteria) this;
        }

        public Criteria andOfferidNotBetween(Integer value1, Integer value2) {
            addCriterion("offerid not between", value1, value2, "offerid");
            return (Criteria) this;
        }

        public Criteria andCrIsNull() {
            addCriterion("cr is null");
            return (Criteria) this;
        }

        public Criteria andCrIsNotNull() {
            addCriterion("cr is not null");
            return (Criteria) this;
        }

        public Criteria andCrEqualTo(Integer value) {
            addCriterion("cr =", value, "cr");
            return (Criteria) this;
        }

        public Criteria andCrNotEqualTo(Integer value) {
            addCriterion("cr <>", value, "cr");
            return (Criteria) this;
        }

        public Criteria andCrGreaterThan(Integer value) {
            addCriterion("cr >", value, "cr");
            return (Criteria) this;
        }

        public Criteria andCrGreaterThanOrEqualTo(Integer value) {
            addCriterion("cr >=", value, "cr");
            return (Criteria) this;
        }

        public Criteria andCrLessThan(Integer value) {
            addCriterion("cr <", value, "cr");
            return (Criteria) this;
        }

        public Criteria andCrLessThanOrEqualTo(Integer value) {
            addCriterion("cr <=", value, "cr");
            return (Criteria) this;
        }

        public Criteria andCrIn(List<Integer> values) {
            addCriterion("cr in", values, "cr");
            return (Criteria) this;
        }

        public Criteria andCrNotIn(List<Integer> values) {
            addCriterion("cr not in", values, "cr");
            return (Criteria) this;
        }

        public Criteria andCrBetween(Integer value1, Integer value2) {
            addCriterion("cr between", value1, value2, "cr");
            return (Criteria) this;
        }

        public Criteria andCrNotBetween(Integer value1, Integer value2) {
            addCriterion("cr not between", value1, value2, "cr");
            return (Criteria) this;
        }

        public Criteria andEcpcIsNull() {
            addCriterion("ecpc is null");
            return (Criteria) this;
        }

        public Criteria andEcpcIsNotNull() {
            addCriterion("ecpc is not null");
            return (Criteria) this;
        }

        public Criteria andEcpcEqualTo(Integer value) {
            addCriterion("ecpc =", value, "ecpc");
            return (Criteria) this;
        }

        public Criteria andEcpcNotEqualTo(Integer value) {
            addCriterion("ecpc <>", value, "ecpc");
            return (Criteria) this;
        }

        public Criteria andEcpcGreaterThan(Integer value) {
            addCriterion("ecpc >", value, "ecpc");
            return (Criteria) this;
        }

        public Criteria andEcpcGreaterThanOrEqualTo(Integer value) {
            addCriterion("ecpc >=", value, "ecpc");
            return (Criteria) this;
        }

        public Criteria andEcpcLessThan(Integer value) {
            addCriterion("ecpc <", value, "ecpc");
            return (Criteria) this;
        }

        public Criteria andEcpcLessThanOrEqualTo(Integer value) {
            addCriterion("ecpc <=", value, "ecpc");
            return (Criteria) this;
        }

        public Criteria andEcpcIn(List<Integer> values) {
            addCriterion("ecpc in", values, "ecpc");
            return (Criteria) this;
        }

        public Criteria andEcpcNotIn(List<Integer> values) {
            addCriterion("ecpc not in", values, "ecpc");
            return (Criteria) this;
        }

        public Criteria andEcpcBetween(Integer value1, Integer value2) {
            addCriterion("ecpc between", value1, value2, "ecpc");
            return (Criteria) this;
        }

        public Criteria andEcpcNotBetween(Integer value1, Integer value2) {
            addCriterion("ecpc not between", value1, value2, "ecpc");
            return (Criteria) this;
        }

        public Criteria andRegrateIsNull() {
            addCriterion("regrate is null");
            return (Criteria) this;
        }

        public Criteria andRegrateIsNotNull() {
            addCriterion("regrate is not null");
            return (Criteria) this;
        }

        public Criteria andRegrateEqualTo(Integer value) {
            addCriterion("regrate =", value, "regrate");
            return (Criteria) this;
        }

        public Criteria andRegrateNotEqualTo(Integer value) {
            addCriterion("regrate <>", value, "regrate");
            return (Criteria) this;
        }

        public Criteria andRegrateGreaterThan(Integer value) {
            addCriterion("regrate >", value, "regrate");
            return (Criteria) this;
        }

        public Criteria andRegrateGreaterThanOrEqualTo(Integer value) {
            addCriterion("regrate >=", value, "regrate");
            return (Criteria) this;
        }

        public Criteria andRegrateLessThan(Integer value) {
            addCriterion("regrate <", value, "regrate");
            return (Criteria) this;
        }

        public Criteria andRegrateLessThanOrEqualTo(Integer value) {
            addCriterion("regrate <=", value, "regrate");
            return (Criteria) this;
        }

        public Criteria andRegrateIn(List<Integer> values) {
            addCriterion("regrate in", values, "regrate");
            return (Criteria) this;
        }

        public Criteria andRegrateNotIn(List<Integer> values) {
            addCriterion("regrate not in", values, "regrate");
            return (Criteria) this;
        }

        public Criteria andRegrateBetween(Integer value1, Integer value2) {
            addCriterion("regrate between", value1, value2, "regrate");
            return (Criteria) this;
        }

        public Criteria andRegrateNotBetween(Integer value1, Integer value2) {
            addCriterion("regrate not between", value1, value2, "regrate");
            return (Criteria) this;
        }

        public Criteria andRetentionrateIsNull() {
            addCriterion("retentionrate is null");
            return (Criteria) this;
        }

        public Criteria andRetentionrateIsNotNull() {
            addCriterion("retentionrate is not null");
            return (Criteria) this;
        }

        public Criteria andRetentionrateEqualTo(Integer value) {
            addCriterion("retentionrate =", value, "retentionrate");
            return (Criteria) this;
        }

        public Criteria andRetentionrateNotEqualTo(Integer value) {
            addCriterion("retentionrate <>", value, "retentionrate");
            return (Criteria) this;
        }

        public Criteria andRetentionrateGreaterThan(Integer value) {
            addCriterion("retentionrate >", value, "retentionrate");
            return (Criteria) this;
        }

        public Criteria andRetentionrateGreaterThanOrEqualTo(Integer value) {
            addCriterion("retentionrate >=", value, "retentionrate");
            return (Criteria) this;
        }

        public Criteria andRetentionrateLessThan(Integer value) {
            addCriterion("retentionrate <", value, "retentionrate");
            return (Criteria) this;
        }

        public Criteria andRetentionrateLessThanOrEqualTo(Integer value) {
            addCriterion("retentionrate <=", value, "retentionrate");
            return (Criteria) this;
        }

        public Criteria andRetentionrateIn(List<Integer> values) {
            addCriterion("retentionrate in", values, "retentionrate");
            return (Criteria) this;
        }

        public Criteria andRetentionrateNotIn(List<Integer> values) {
            addCriterion("retentionrate not in", values, "retentionrate");
            return (Criteria) this;
        }

        public Criteria andRetentionrateBetween(Integer value1, Integer value2) {
            addCriterion("retentionrate between", value1, value2, "retentionrate");
            return (Criteria) this;
        }

        public Criteria andRetentionrateNotBetween(Integer value1, Integer value2) {
            addCriterion("retentionrate not between", value1, value2, "retentionrate");
            return (Criteria) this;
        }

        public Criteria andApplyrateIsNull() {
            addCriterion("applyrate is null");
            return (Criteria) this;
        }

        public Criteria andApplyrateIsNotNull() {
            addCriterion("applyrate is not null");
            return (Criteria) this;
        }

        public Criteria andApplyrateEqualTo(Integer value) {
            addCriterion("applyrate =", value, "applyrate");
            return (Criteria) this;
        }

        public Criteria andApplyrateNotEqualTo(Integer value) {
            addCriterion("applyrate <>", value, "applyrate");
            return (Criteria) this;
        }

        public Criteria andApplyrateGreaterThan(Integer value) {
            addCriterion("applyrate >", value, "applyrate");
            return (Criteria) this;
        }

        public Criteria andApplyrateGreaterThanOrEqualTo(Integer value) {
            addCriterion("applyrate >=", value, "applyrate");
            return (Criteria) this;
        }

        public Criteria andApplyrateLessThan(Integer value) {
            addCriterion("applyrate <", value, "applyrate");
            return (Criteria) this;
        }

        public Criteria andApplyrateLessThanOrEqualTo(Integer value) {
            addCriterion("applyrate <=", value, "applyrate");
            return (Criteria) this;
        }

        public Criteria andApplyrateIn(List<Integer> values) {
            addCriterion("applyrate in", values, "applyrate");
            return (Criteria) this;
        }

        public Criteria andApplyrateNotIn(List<Integer> values) {
            addCriterion("applyrate not in", values, "applyrate");
            return (Criteria) this;
        }

        public Criteria andApplyrateBetween(Integer value1, Integer value2) {
            addCriterion("applyrate between", value1, value2, "applyrate");
            return (Criteria) this;
        }

        public Criteria andApplyrateNotBetween(Integer value1, Integer value2) {
            addCriterion("applyrate not between", value1, value2, "applyrate");
            return (Criteria) this;
        }

        public Criteria andFtdrateIsNull() {
            addCriterion("ftdrate is null");
            return (Criteria) this;
        }

        public Criteria andFtdrateIsNotNull() {
            addCriterion("ftdrate is not null");
            return (Criteria) this;
        }

        public Criteria andFtdrateEqualTo(Integer value) {
            addCriterion("ftdrate =", value, "ftdrate");
            return (Criteria) this;
        }

        public Criteria andFtdrateNotEqualTo(Integer value) {
            addCriterion("ftdrate <>", value, "ftdrate");
            return (Criteria) this;
        }

        public Criteria andFtdrateGreaterThan(Integer value) {
            addCriterion("ftdrate >", value, "ftdrate");
            return (Criteria) this;
        }

        public Criteria andFtdrateGreaterThanOrEqualTo(Integer value) {
            addCriterion("ftdrate >=", value, "ftdrate");
            return (Criteria) this;
        }

        public Criteria andFtdrateLessThan(Integer value) {
            addCriterion("ftdrate <", value, "ftdrate");
            return (Criteria) this;
        }

        public Criteria andFtdrateLessThanOrEqualTo(Integer value) {
            addCriterion("ftdrate <=", value, "ftdrate");
            return (Criteria) this;
        }

        public Criteria andFtdrateIn(List<Integer> values) {
            addCriterion("ftdrate in", values, "ftdrate");
            return (Criteria) this;
        }

        public Criteria andFtdrateNotIn(List<Integer> values) {
            addCriterion("ftdrate not in", values, "ftdrate");
            return (Criteria) this;
        }

        public Criteria andFtdrateBetween(Integer value1, Integer value2) {
            addCriterion("ftdrate between", value1, value2, "ftdrate");
            return (Criteria) this;
        }

        public Criteria andFtdrateNotBetween(Integer value1, Integer value2) {
            addCriterion("ftdrate not between", value1, value2, "ftdrate");
            return (Criteria) this;
        }

        public Criteria andSubidIsNull() {
            addCriterion("subid is null");
            return (Criteria) this;
        }

        public Criteria andSubidIsNotNull() {
            addCriterion("subid is not null");
            return (Criteria) this;
        }

        public Criteria andSubidEqualTo(String value) {
            addCriterion("subid =", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidNotEqualTo(String value) {
            addCriterion("subid <>", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidGreaterThan(String value) {
            addCriterion("subid >", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidGreaterThanOrEqualTo(String value) {
            addCriterion("subid >=", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidLessThan(String value) {
            addCriterion("subid <", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidLessThanOrEqualTo(String value) {
            addCriterion("subid <=", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidLike(String value) {
            addCriterion("subid like", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidNotLike(String value) {
            addCriterion("subid not like", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidIn(List<String> values) {
            addCriterion("subid in", values, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidNotIn(List<String> values) {
            addCriterion("subid not in", values, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidBetween(String value1, String value2) {
            addCriterion("subid between", value1, value2, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidNotBetween(String value1, String value2) {
            addCriterion("subid not between", value1, value2, "subid");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3IsNull() {
            addCriterion("retentionrate3 is null");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3IsNotNull() {
            addCriterion("retentionrate3 is not null");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3EqualTo(Integer value) {
            addCriterion("retentionrate3 =", value, "retentionrate3");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3NotEqualTo(Integer value) {
            addCriterion("retentionrate3 <>", value, "retentionrate3");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3GreaterThan(Integer value) {
            addCriterion("retentionrate3 >", value, "retentionrate3");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3GreaterThanOrEqualTo(Integer value) {
            addCriterion("retentionrate3 >=", value, "retentionrate3");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3LessThan(Integer value) {
            addCriterion("retentionrate3 <", value, "retentionrate3");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3LessThanOrEqualTo(Integer value) {
            addCriterion("retentionrate3 <=", value, "retentionrate3");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3In(List<Integer> values) {
            addCriterion("retentionrate3 in", values, "retentionrate3");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3NotIn(List<Integer> values) {
            addCriterion("retentionrate3 not in", values, "retentionrate3");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3Between(Integer value1, Integer value2) {
            addCriterion("retentionrate3 between", value1, value2, "retentionrate3");
            return (Criteria) this;
        }

        public Criteria andRetentionrate3NotBetween(Integer value1, Integer value2) {
            addCriterion("retentionrate3 not between", value1, value2, "retentionrate3");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7IsNull() {
            addCriterion("retentionrate7 is null");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7IsNotNull() {
            addCriterion("retentionrate7 is not null");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7EqualTo(Integer value) {
            addCriterion("retentionrate7 =", value, "retentionrate7");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7NotEqualTo(Integer value) {
            addCriterion("retentionrate7 <>", value, "retentionrate7");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7GreaterThan(Integer value) {
            addCriterion("retentionrate7 >", value, "retentionrate7");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7GreaterThanOrEqualTo(Integer value) {
            addCriterion("retentionrate7 >=", value, "retentionrate7");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7LessThan(Integer value) {
            addCriterion("retentionrate7 <", value, "retentionrate7");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7LessThanOrEqualTo(Integer value) {
            addCriterion("retentionrate7 <=", value, "retentionrate7");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7In(List<Integer> values) {
            addCriterion("retentionrate7 in", values, "retentionrate7");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7NotIn(List<Integer> values) {
            addCriterion("retentionrate7 not in", values, "retentionrate7");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7Between(Integer value1, Integer value2) {
            addCriterion("retentionrate7 between", value1, value2, "retentionrate7");
            return (Criteria) this;
        }

        public Criteria andRetentionrate7NotBetween(Integer value1, Integer value2) {
            addCriterion("retentionrate7 not between", value1, value2, "retentionrate7");
            return (Criteria) this;
        }

        public Criteria andParateIsNull() {
            addCriterion("parate is null");
            return (Criteria) this;
        }

        public Criteria andParateIsNotNull() {
            addCriterion("parate is not null");
            return (Criteria) this;
        }

        public Criteria andParateEqualTo(Integer value) {
            addCriterion("parate =", value, "parate");
            return (Criteria) this;
        }

        public Criteria andParateNotEqualTo(Integer value) {
            addCriterion("parate <>", value, "parate");
            return (Criteria) this;
        }

        public Criteria andParateGreaterThan(Integer value) {
            addCriterion("parate >", value, "parate");
            return (Criteria) this;
        }

        public Criteria andParateGreaterThanOrEqualTo(Integer value) {
            addCriterion("parate >=", value, "parate");
            return (Criteria) this;
        }

        public Criteria andParateLessThan(Integer value) {
            addCriterion("parate <", value, "parate");
            return (Criteria) this;
        }

        public Criteria andParateLessThanOrEqualTo(Integer value) {
            addCriterion("parate <=", value, "parate");
            return (Criteria) this;
        }

        public Criteria andParateIn(List<Integer> values) {
            addCriterion("parate in", values, "parate");
            return (Criteria) this;
        }

        public Criteria andParateNotIn(List<Integer> values) {
            addCriterion("parate not in", values, "parate");
            return (Criteria) this;
        }

        public Criteria andParateBetween(Integer value1, Integer value2) {
            addCriterion("parate between", value1, value2, "parate");
            return (Criteria) this;
        }

        public Criteria andParateNotBetween(Integer value1, Integer value2) {
            addCriterion("parate not between", value1, value2, "parate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}